Skip to main content
Version: Next

Branching Strategy

Overview

We follow a Trunk-based development approach to streamline our workflow and ensure continuous integration. This strategy aligns with our modular plugin architecture, allowing teams to work independently while maintaining code quality and integration.

Key Principles

  • Short-lived branches for specific tasks, features, or bugfixes
  • All development work branches from and merges back to the develop branch (trunk)
  • No long-running feature branches
  • Fast integration and continuous delivery

Branch Structure

Main Branch

  • develop: Primary development branch (trunk)

Working Branches

All development work is done on feature branches that follow a structured naming convention.

Branch Naming Convention

Branch names must follow this pattern:

[type]/[ticket-number]_[description]

Branch Types

  • task/ - New features, enhancements, or general tasks
  • bugfix/ - Bug fixes and issue resolutions
  • feature/ - Major new features or plugin development
  • techdebt/ - Technical debt, refactoring, or code improvements
  • hotfix/ - Critical production fixes (if applicable)

Examples

task/36143_add_sentry_logging
bugfix/24500_fix_challenge_events
feature/35963_vorsorgekompass_infocard
techdebt/36233_convert_xcode_groups

Naming Guidelines

  • Use lowercase with underscores for separation
  • Include the ticket number (e.g., 12345)
  • Use descriptive but concise descriptions
  • Avoid abbreviations that might be unclear
  • Keep total length under 50 characters when possible